﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;
using WebArchivosTelefonica.Jerarquias;
using System.Collections.ObjectModel;

namespace WebArchivosTelefonica
{
    /// <summary>
    /// 
    /// </summary>
    public partial class Navegacion : System.Web.UI.UserControl
    {
        #region CAMPOS
        private Color _backColorPestañaNormal;
        private Color _backColorPestañaResaltada;
        private Color _borderColorPestañaNormal;
        private Color _borderColorPestañaResaltada;
        private int _pestañaSeleccionada;

        #endregion

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            _backColorPestañaNormal = Color.FromArgb(102, 153, 255);
            _backColorPestañaResaltada = Color.FromArgb(0, 102, 255);
            _borderColorPestañaNormal = Color.FromArgb(153, 153, 153);
            _borderColorPestañaResaltada = Color.FromArgb(204, 204, 204);
        //    ButtonReportes.Visible =Roles.IsUserInRole("Administrador");
				ButtonAdministracion.Visible = Roles.IsUserInRole("Administrador");
        }
        /// <summary>
        /// 
        /// </summary>
        public int PestañaSeleccionada
        {
            get { return _pestañaSeleccionada; }
            set
            {
                _pestañaSeleccionada = value;
                SeleccionarPestaña();
            }
        }

        private void SeleccionarPestaña()
        {
            switch (_pestañaSeleccionada)
            {
                case 0:
                    {
                        ResaltarBoton(BotonSubirArchivos);
                        ResaltarBoton(ButtonDocumentos);
                        break;
                    }
                case 1:
                    {
                        ResaltarBoton(BotonCambiarContraseña);
                        ResaltarBoton(ButtonUsuarios);
                        
                        break;
                    }
                case 4:
                    {
                        ResaltarBoton(BotonBuscarCandidato);
                        ResaltarBoton(ButtonDocumentos);
                        break;
                    }
                case 2:
                    {
                        if (LoginViewAdministrador.HasControls())
                        {
                            ResaltarBoton(((Button)(LoginViewAdministrador.FindControl("BotonAdministrarUsuarios"))));
                            ResaltarBoton(ButtonUsuarios);
                        }
                        break;
                    }
                case 3:
                    {
                        if (LoginViewAdministrador.HasControls())
                        {
                            ResaltarBoton(((Button)(LoginViewAdministrador.FindControl("BotonCrearUsuarios"))));
                            ResaltarBoton(ButtonUsuarios);
                        }
                        break;
                    }
                case 5:
                    {
                        ResaltarBoton(ButtonAdministracion);
                        ResaltarBoton(ButtonClientes);
                        break;
                    }
                case 6:
                    {
                        ResaltarBoton(ButtonAdministracion);
                        ResaltarBoton(ButtonProyectos);
                        break;
                    }



            }
        }

        private void ResaltarBoton(Button boton)
        {
            boton.BackColor = _backColorPestañaResaltada;
            boton.BorderColor = _borderColorPestañaResaltada;
        }

        private void NormalizarBoton(Button boton)
        {
            boton.BackColor = _backColorPestañaNormal;
            boton.BorderColor = _borderColorPestañaNormal;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BotonAdministrarUsuarios_Init(object sender, EventArgs e)
        {
            SeleccionarPestaña();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BotonCrearUsuarios_Init(object sender, EventArgs e)
        {
            SeleccionarPestaña();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BotonAdministrarUsuarios_Load(object sender, EventArgs e)
        {
            SeleccionarPestaña();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BotonCrearUsuarios_Load(object sender, EventArgs e)
        {
            SeleccionarPestaña();
        }
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        //protected void BotonGenerarReporte_Click(object sender, EventArgs e)
        //{
        //    ResaltarBoton(BotonGenerarReporte);
        //    Administrador administrador = new Administrador(new FabricaLinqDataSource(), new EntidadLinqDataContext());
        //    string fileName = Server.MapPath("Reporte.csv");
        //    administrador.CrearReporteDocumentos(fileName);


        //    Response.Clear();
        //    Response.AppendHeader("Content-Disposition", "attachment; filename=" + "Reporte.csv");
        //    Response.TransmitFile(fileName);
        //    Response.End();

        //    NormalizarBoton(BotonGenerarReporte);
        //}

        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        //protected void BotonGenerarReporteCostos_Click(object sender, EventArgs e)
        //{
        //    ResaltarBoton(BotonGenerarReporteCostos);
        //    Administrador administrador = new Administrador(new FabricaLinqDataSource(), new EntidadLinqDataContext());
        //    string fileName = Server.MapPath("ReporteCostos.csv");
        //    administrador.CrearReporteCostos(fileName);


        //    Response.Clear();
        //    Response.AppendHeader("Content-Disposition", "attachment; filename=" + "ReporteCostos.csv");
        //    Response.TransmitFile(fileName);
        //    Response.End();

        //    NormalizarBoton(BotonGenerarReporteCostos);
        //}




    }
}